package com.ruoyi.qif.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 锜风公寓-房间住客对象 qif_guest
 *
 * @author David
 * @date 2025-10-05
 */
public class QifGuest extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 客人id
     */
    private Long guestId;

    /**
     * 房间id
     */
    @Excel(name = "房间id")
    private Long roomId;

    /**
     * 单元号
     */
    @Excel(name = "单元号")
    private String unit;

    @Excel(name = "房间号")
    private String roomNum;

    /**
     * 客人姓名
     */
    @Excel(name = "客人姓名")
    private String guestName;

    /**
     * 客人身份证号
     */
    @Excel(name = "客人身份证号")
    private String guestIdNumber;

    /**
     * 身份地址
     */
    @Excel(name = "身份地址")
    private String guestAddress;

    /**
     * 客人照片
     */
    @Excel(name = "客人照片")
    private String guestPhoto;

    /**
     * 客人性别（0男 1女 2未知）
     */
    @Excel(name = "客人性别", readConverterExp = "0=男,1=女,2=未知")
    private String guestSex;

    /**
     * 客人民族
     */
    @Excel(name = "客人民族")
    private String guestEthnicity;

    /**
     * 入住时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "入住时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkInTime;

    /**
     * 状态(0:在住,1:退房)
     */
    @Excel(name = "状态(0:在住,1:退房)")
    private String status;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    public void setGuestId(Long guestId) {
        this.guestId = guestId;
    }

    public Long getGuestId() {
        return guestId;
    }

    public void setRoomId(Long roomId) {
        this.roomId = roomId;
    }

    public Long getRoomId() {
        return roomId;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public void setRoomNum(String roomNum) {
        this.roomNum = roomNum;
    }

    public String getRoomNum() {
        return roomNum;
    }

    public void setGuestName(String guestName) {
        this.guestName = guestName;
    }

    public String getGuestName() {
        return guestName;
    }

    public void setGuestIdNumber(String guestIdNumber) {
        this.guestIdNumber = guestIdNumber;
    }

    public String getGuestIdNumber() {
        return guestIdNumber;
    }

    public void setGuestAddress(String guestAddress) {
        this.guestAddress = guestAddress;
    }

    public String getGuestAddress() {
        return guestAddress;
    }

    public void setGuestPhoto(String guestPhoto) {
        this.guestPhoto = guestPhoto;
    }

    public String getGuestPhoto() {
        return guestPhoto;
    }

    public void setGuestSex(String guestSex) {
        this.guestSex = guestSex;
    }

    public String getGuestSex() {
        return guestSex;
    }

    public void setGuestEthnicity(String guestEthnicity) {
        this.guestEthnicity = guestEthnicity;
    }

    public String getGuestEthnicity() {
        return guestEthnicity;
    }

    public void setCheckInTime(Date checkInTime) {
        this.checkInTime = checkInTime;
    }

    public Date getCheckInTime() {
        return checkInTime;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("guestId", getGuestId())
                .append("roomId", getRoomId())
                .append("roomNum", getRoomNum())
                .append("guestName", getGuestName())
                .append("guestIdNumber", getGuestIdNumber())
                .append("guestAddress", getGuestAddress())
                .append("guestPhoto", getGuestPhoto())
                .append("guestSex", getGuestSex())
                .append("guestEthnicity", getGuestEthnicity())
                .append("checkInTime", getCheckInTime())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
